package cn.biplam.front.template.control;

import cn.biplam.common.paramters.SysName;
import cn.biplam.common.wrapper.ErrorMessage;
import cn.biplam.front.html.base.HtmlWindow;
import cn.biplam.front.html.base.Const.Window_Event;
import cn.biplam.front.htmlscript.script.PopupScript;

/**
 *  Pr弹出窗口内容模板,绑定Pr探查窗口的关闭事件
 *  <ul>
 *    用法：
 *         <li>创建模板                  new PromptContent("弹出窗口内容")
 *         <li>设置确定按钮点击后执行脚本   setSubmitScript("确定按钮点击后执行脚本")
 *         <li>设置是否关闭弹出窗口(如果不设置,默认为提交后关闭)        setClosePromt(boolean)
 *  </ul>
 * @author XiaoRuxing Oct 24, 20093:40:14 PM
 * @version 1.0
 */
public class PromptContent {

	private HtmlWindow content;
	private String submitScript;
	private boolean closePrompt = true;
	
	/**
	 * @param content 弹出窗口内容
	 */
	public PromptContent(HtmlWindow content){
		this.content = content;
	}
	
	
	/**
	 *  设置弹出窗口提交脚本
	 * @param script 弹出窗口提交脚本
	 */
	public void setSubmitScript(String script){
		this.submitScript = script;
	}
	
	/**
	 *  设置是否关闭弹出窗口
	 * @param isClose 是否关闭弹出窗口
	 */
	public void setClosePrompt(boolean isClose){
		this.closePrompt = isClose;
	}
	
	/**
	 *  获取弹出窗口内容
	 * @throws ErrorMessage 
	 */
	public HtmlWindow get() throws ErrorMessage{
		//如果窗口主内容为空返回空
		if(content==null){
			return null;
		}
		//绑定提交事件到Pr弹出窗口的确定按钮
		if(this.submitScript!=null){
			content.bind(SysName.PromptSubmitID,
					Window_Event.OnClick,
					this.submitScript);
		}
		//绑定关闭Pr窗口事件到Pr弹出窗口的确定按钮
		if(this.closePrompt){
			content.bind(SysName.PromptSubmitID, 
					Window_Event.OnClick,
					PopupScript.cancelPrompt());
		}
		return content;
	}
}
